SWITCH এবং IIF ফাংশন উভয়ই SQL Server এবং T-SQL এর মধ্যে ব্যবহার করা হয় শর্তাবলী যাচাই করার জন্য এবং বিভিন্ন শর্তের ভিত্তিতে বিভিন্ন ফলাফল প্রদান করতে। এগুলি সাধারণত জটিল শর্তযুক্ত কুয়েরি লেখার জন্য ব্যবহৃত হয়।
1. SWITCH ফাংশন
SWITCH ফাংশন একটি বহুমুখী শর্ত পরীক্ষা করার জন্য ব্যবহৃত হয়। এটি একাধিক শর্ত পরীক্ষা করে এবং প্রথম মেলে এমন শর্তের ফলাফল প্রদান করে। এটি সাধারণত CASE স্টেটমেন্টের একটি বিকল্প হিসেবে ব্যবহার করা হয়।
SWITCH ফাংশন SQL Server-এ সরাসরি উপলব্ধ নেই, তবে আমরা এটি CASE স্টেটমেন্টের সাহায্যে ব্যবহার করতে পারি, যেটি কার্যত SWITCH এর সমতুল্য।
SWITCH ফাংশনের সিনট্যাক্স:
SELECT SWITCH (
expression1 = value1, result1,
expression2 = value2, result2,
expression3 = value3, result3,
...
expressionN = valueN, resultN
);
তবে SQL Server-এ SWITCH ফাংশনের জন্য কোনও সরাসরি সমর্থন নেই, তাই আমরা CASE স্টেটমেন্ট ব্যবহার করি:
CASE (SWITCH এর সমতুল্য):
SELECT
CASE
WHEN Department = 'HR' THEN 'Human Resources'
WHEN Department = 'IT' THEN 'Information Technology'
WHEN Department = 'Finance' THEN 'Finance Department'
ELSE 'Other'
END AS DepartmentName
FROM Employees;
এটি Department কলামকে চেক করে এবং সংশ্লিষ্ট মানের ভিত্তিতে একটি প্রাসঙ্গিক নাম প্রদান করে।
2. IIF ফাংশন
IIF ফাংশন T-SQL এর মধ্যে একটি শর্তযুক্ত ফাংশন, যা IF এবং ELSE শর্তের মতো কাজ করে। IIF ফাংশনটি একটি শর্ত (condition) যাচাই করে এবং শর্তটি সঠিক হলে একটি ফলাফল প্রদান করে, অন্যথায় একটি ভিন্ন ফলাফল প্রদান করে।
IIF ফাংশনের সিনট্যাক্স:
IIF(condition, result_if_true, result_if_false)
- condition: শর্ত যা যাচাই করা হবে।
- result_if_true: যদি শর্তটি সত্য (TRUE) হয়, তবে এই মানটি প্রদান করা হবে।
- result_if_false: যদি শর্তটি মিথ্যা (FALSE) হয়, তবে এই মানটি প্রদান করা হবে।
IIF ফাংশনের উদাহরণ:
SELECT
FirstName,
LastName,
IIF(Salary > 50000, 'High Salary', 'Low Salary') AS SalaryStatus
FROM Employees;
এটি Salary কলামের মান যাচাই করে, যদি এটি ৫০,০০০ এর বেশি হয়, তাহলে "High Salary" রিটার্ন করবে, অন্যথায় "Low Salary" রিটার্ন করবে।
SWITCH এবং IIF এর মধ্যে পার্থক্য
- বহু শর্ত:
- SWITCH: একাধিক শর্ত পরীক্ষা করতে ব্যবহৃত হয় এবং যেকোনো একটি শর্ত মিললে তার সংশ্লিষ্ট ফলাফল প্রদান করে।
- IIF: একক শর্ত পরীক্ষা করে, যেখানে শুধুমাত্র দুটি ফলাফল (একটি শর্ত পূর্ণ হলে একটি এবং না হলে অন্যটি) পাওয়া যায়।
- কোডের সহজতা:
- SWITCH: একাধিক শর্তের জন্য কাস্টম কুয়েরি তৈরি করা সহজ।
- IIF: একটি সহজ শর্ত যাচাই করার জন্য ভালো, তবে অনেক শর্তের জন্য ব্যবহার করা কঠিন হতে পারে।
সারাংশ
- SWITCH (CASE) ফাংশন একাধিক শর্ত যাচাই করে এবং প্রথমে মেলে এমন শর্তের ফলাফল প্রদান করে।
- IIF ফাংশন একটি একক শর্ত যাচাই করে এবং শর্তটি সত্য হলে একটি ফলাফল, আর মিথ্যা হলে অন্য একটি ফলাফল প্রদান করে।
এই দুটি ফাংশন SQL Server এবং T-SQL-এ শর্তাবলী নির্ধারণ করার জন্য ব্যবহার করা হয় এবং ডেটাবেসের মধ্যে আরও উন্নত শর্তযুক্ত কুয়েরি লেখার জন্য সহায়ক।